import Vue from 'vue'
import Vuex from 'vuex'

// 导入提取的fetters模块
import getters from './getters'

// 导入拆分的模块化文件
import app from './modules/app'
import settings from './modules/settings'
import user from './modules/user'

// 将 vuex 挂载为 vue 的插件
Vue.use(Vuex)

// 对 vuex 进行实例化
const store = new Vuex.Store({
  // 核心的方法
  modules: {
    app,
    settings,
    user
  },
  // 为什么需要将 模块中的state 都提取成getters
  // 就是为了方便在组件中数组使用
  // this.$store.state.app.userInfo
  getters
})

export default store
